home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Think Class Libraries / AE Stuff / AEUtilities.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-30  |  1.6 KB  |  81 lines  |  [TEXT/KAHL]

  1. /*
  2.  * ---------------------------------------------------------------------
  3.  * AEUtilities.h :
  4.  *
  5.  * © Copyright 1992 by F. Menneteau.  All rights reserved.
  6.  * This code can be both distributed and used freely.
  7.  *
  8.  * ---------------------------------------------------------------------
  9.  */
  10.  
  11.  
  12. #pragma once
  13.  
  14. #include "AERegistry.h"
  15.  
  16.  
  17. #define S(str)                (* (Str255 *) (str))
  18.  
  19. #define PSTRLASTCHAR(s)        (s)[*(s)]
  20.  
  21.  
  22. #define RETN_IF_ERR(e)        if ( e != noErr ) return(e)
  23. #define EXIT_IF_ERR(e)        if ( e != noErr ) ExitToShell()
  24.  
  25.  
  26. #define kFinderSignature    'MACS'
  27.  
  28. #define PDELIMITER            ((Ptr) "\p:")
  29. #define PEMPTY                ((Ptr) "\p")
  30. #define COMMA                ((Ptr) ",")
  31. #define DELIMITER            ((Ptr) ":")
  32. #define PPCTOOLBOX            ((Ptr) "\pPPCToolbox")
  33. #define FINDER                ((Ptr) "\pFinder")
  34.  
  35.  
  36. typedef enum {
  37.     typeFOLDER = 'fold',
  38.     typeFILE = 'file'
  39. } TypeEntity ;
  40.  
  41.  
  42. typedef AEAddressDesc    *AEAddrDescPtr        ;
  43. typedef AppleEvent        *AppleEventPtr        ;
  44. typedef PPCSessRefNum    *PPCSessRefNumPtr    ;
  45.  
  46.  
  47. typedef enum {
  48.     sNONE,
  49.     sTARGET_ID,
  50.     sSIGN_ONLY,
  51.     sTYPE_AND_SIGN,
  52.     sPSN,
  53.     sSESSION_ID
  54. } SelectorType ;
  55.  
  56.  
  57. typedef struct {
  58.     SelectorType            tSelector    ;
  59.  
  60.     union {
  61.         TargetID            tTargetID    ;
  62.         struct {
  63.             OSType            tType        ;
  64.             OSType            tSignature    ;
  65.         } s ;
  66.         ProcessSerialNumber    tPSNumber    ;
  67.         PPCSessRefNum        tSessionID    ;
  68.     } u ;
  69. } TargetInfo, *TargetInfPtr, **TargetInfHandle ;
  70.  
  71.  
  72.  
  73. /*
  74.  **************************************************************************
  75.  */
  76. OSErr GetTargetID(Str31, Str31, Str32, TargetIDPtr);
  77. OSErr EntityPathToAlias(Ptr, TypeEntity, AliasHandle *);
  78. OSErr GetProcessPSN(OSType, OSType, ProcessSerialNumberPtr);
  79. OSErr KillProcess(Boolean, Boolean, OSType, OSType);
  80.  
  81.